package br.com.pucrs.tcc.bd;

import java.util.ArrayList;

import org.hibernate.Criteria;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import br.com.pucrs.tcc.ed.AlunoGrupoTrabalho;
import br.com.pucrs.tcc.ed.AreaInteresse;
import br.com.pucrs.tcc.ed.GrupoTrabalho;
import br.com.pucrs.tcc.ed.GrupoTrabalhoAreaInteresse;
import br.com.pucrs.tcc.ed.Telefone;

public class AlunoGrupoTrabalhoBD {

	private Session mSession;

	public AlunoGrupoTrabalhoBD(Session session) {
		mSession = session;
	}

	public void insert(AlunoGrupoTrabalho grupo) {
		mSession.save(grupo);
		mSession.flush();
	}

	public void update(AlunoGrupoTrabalho grupo) {
		mSession.update(grupo);
	}

	public void delete(AlunoGrupoTrabalho grupo) {
		mSession.delete(grupo);
		mSession.flush();
	}

	public AlunoGrupoTrabalho retrieve(AlunoGrupoTrabalho grupo) {
		AlunoGrupoTrabalho telefoneRetorno = null;

		Criteria criteria = mSession.createCriteria(AlunoGrupoTrabalho.class);
		//criteria.add(Restrictions.eq("id", grupo.getId()));

		telefoneRetorno = (AlunoGrupoTrabalho) criteria.uniqueResult();

		return telefoneRetorno;
	}

	public ArrayList<AlunoGrupoTrabalho> list(AlunoGrupoTrabalho grupo) {
		ArrayList<AlunoGrupoTrabalho> listaRetorno = null;

		Criteria criteria = mSession.createCriteria(AlunoGrupoTrabalho.class);
		// criteria.add(Restrictions.eq("matricula", professor.getMatricula()));

		listaRetorno = (ArrayList<AlunoGrupoTrabalho>) criteria.list();

		if (listaRetorno != null) {
			System.out.println(listaRetorno.size());
		} else {
			System.out.println("grupo.NULL");
		}

		return listaRetorno;
	}


}
